// 该文件用于创建 Vuex 中最为核心的 store

import Vue from "vue";
// 引入 Vuex
import Vuex from "vuex";
// 应用 Vuex
Vue.use(Vuex);

// 准备 Actions —— 用于响应组件中的动作
const actions = {
  /* jia(context, value) {
    // console.log(context, value);
    // console.log('actions中的jia被调用了');
    context.commit("JIA", value);
  }, */
  /* jian(context, value) {
    context.commit("JIAN", value);
  }, */
  jiaOdd(context, value) {
    if (context.state.sum % 2) {
      context.commit("JIA", value);
    }
  },
  jiaWait(context, value) {
    setTimeout(() => {
      context.commit("JIA", value);
    }, 500);
  },
};
// 准备 Mutations —— 用于操作数据（state）
const mutations = {
  JIA(state, value) {
    // console.log(state, value);
    // console.log('mutations中的JIA被调用了');
    state.sum += value;
  },
  JIAN(state, value) {
    state.sum -= value;
  },
};
// 准备 State —— 用于存储数据
const state = {
  sum: 0, //当前的和
  school: "南京财经大学",
  major: "电子商务",
};

// 准备 Getters —— 用于将 state 中的数据进行加工
const getters = {
  bigSum(state) {
    return state.sum * 10;
  },
};

// 创建并暴露 store
export default new Vuex.Store({
  actions,
  mutations,
  state,
  getters,
});
